# 生成所有的质数。
# 质数（Prime Number），又称素数，是指在大于1的自然数中，除了1和它本身以外，不能被其他自然数整除的数。
# 换句话说，质数只有两个正因数：1和它自身。

def generator_func():
    """生成所有的质数"""
    i = 2  # 最小的质数
    yield i
    while True: # 因为质数有无数个
        i += 1
        # 判断i是否是质数
        for j in range(2, i):
            if i % j == 0: # 可以被其他数字整除，所以i不是质数
                break
        else:
            # 数字i不可以被其他数字整除
            yield i

if __name__ == '__main__':
    g = generator_func()
    num = next(g)
    while num < 20:
        print(num)
        num = next(g)

